1. Field of the Invention
The present invention relates to a decrypting device for decrypting an encrypted program or encrypted data using a decrypting key.
2. Description of the Related Art
Conventionally, techniques for encrypting data using a key, encrypting the key used in encrypting the data using a master key, and storing the encrypted data and the encrypted key have been proposed one of such techniques is described in S. Tsujii and M. Kasahara, xe2x80x9cCryptography and Information Securityxe2x80x9d, Shokodo, 1990, pp. 208-212.
The above literature discloses a decrypting device for decrypting data encrypted in a manner described above. The decrypting device receives encrypted data and a master key KM. The decrypting device extracts an encrypted key KE included in a header portion of the encrypted data and stores the encrypted key KE in a register. The decrypting device then generates a work key KW based on the encrypted key KE and the master key KM, to decrypt the encrypted data using the work key KW.
When such a decrypting device is provided inside a processor, only the encrypted date, the encrypted key KZ, and the master key KM are accessible external to the decrypting device. Accordingly, the encrypted date can be protected from being decrypted externally by confidentially managing the master key KM.
However, the above prior art technique has the following problem. The master key KM and the work key KW have a certain correlation with each other based on an encrypting algorithm used to produce the work key KW. Once the master key KM is revealed, therefore, it is comparatively easy to determine the work key XW and decrypt the encrypted data if the relevant encrypting algorithm is known.
In order to minimize the above problem, it is known to maintain the confidentiality of the master key KM at a high level so that only intended recipients right fully decrypting the encrypted data have access. Unfortunately, this has lead to the need for increasing the size of a circuit required to transfer the master key KM to the decrypting device.
The decrypting device of this invention includes: a decrypting key generation circuit for generating a decrypting key based on first decrypting key information and second decrypting key information; and a decrypting circuit for decrypting encrypted information using the decrypting key, wherein the first decrypting key information is input from outside the decrypting device, and the second decrypting key information is stored inside the decrypting device.
In one embodiment of the invention, the encrypted information is an encrypted program.
In another embodiment of the invention, the encrypted information is encrypted data.
In still another embodiment of the invention, the decrypting key generation circuit includes; a mixing circuit for generating decrypting key information by mixing the first decrypting key information and the second decrypting key information; and a conversion circuit for converting the decrypting key information into the decrypting key.
In still another embodiment of the invention, the first decrypting key information includes information relating to the decrypting key and dummy data which does not relate to the decrypting key.
In still another embodiment of the invention, the second decrypting key information includes a plurality of decrypting keys, and the decrypting key generation circuit includes a selection circuit for selecting one of the plurality of decrypting keys based at least in part on the first decrypting key information.
In still another embodiment of the invention, the second decrypting key information includes a plurality of decrypting key information units, and the decrypting key generation circuit includes: a selection circuit for selecting one of the plurality of decrypting key information units based at least in part on the first decrypting key information; and a conversion circuit for converting the decrypting key information unit selected by the selection circuit into the decrypting key.
Alternatively, the decrypting device of this invention includes: a decrypting key retrieval circuit for retrieving a decrypting key from decrypting key information; and a decrypting circuit for decrypting encrypted information using the decrypting key, wherein the decrypting key information includes information relating to the decrypting key and dummy data which does not relate to the decrypting key.
In one embodiment of the invention, the encrypted information is an encrypted program.
In another embodiment of the invention, the encrypted information is encrypted data.
In still another embodiment of the invention, the information relating to the decrypting key includes the decrypting key, and the first conversion circuit includes an extraction circuit for extracting the decrypting key from the decrypting key information.
In still another embodiment of the invention, the decrypting key retrieval circuit includes: an extraction circuit for extracting the information relating to the decrypting key from the decrypting key information; and a conversion circuit for converting the information relating to the decrypting key into the decrypting key.
In still another embodiment of the invention, the encrypted information is stored in a memory associated with the decrypting device.
In still another embodiment of the invention, the encrypted information is stored in a memory associated with the decrypting device.
In still another embodiment of the invention, the decrypting device further includes an address shuffling circuit for converting an input address in accordance with a predetermined rule and supplying a converted address to the memory, wherein the encrypted information read from the memory in accordance with the converted address is supplied to the decrypting circuit.
In still another embodiment of the invention, the decrypting device further includes an address shuffling circuit for converting an input address in accordance with a predetermined rule and supplying a converted address to the memory, wherein the encrypted information read from the memory in accordance with the converted address is supplied to the decrypting circuit.
Thus, the invention described herein makes possible the advantages of (1) providing a decrypting device where an encrypted program or encrypted data is prevented from being decrypted easily by a third party which illegally obtains decrypting key information, and (2) providing a decrypting device which allows for the size of a circuit required to transfer decrypting key information to the decrypting device to be reduced.
These and other advantages of the present invention will become apparent to those skilled in the art upon reading and understanding the following detailed description with reference to the accompanying figures.